\section{IntermediateEvent Class Reference}
\label{a00076}\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}


7.6.4.3. Intermediate \doxyref{Event}{p.}{a00058} Intermediate Events occur between a Start \doxyref{Event}{p.}{a00058} AND an End \doxyref{Event}{p.}{a00058}. This is an event that occurs After a Process has been started. It will affect the flow of the process, but will not Start OR (directly) terminate the process. Intermediate Events can be used To: • Show where messages are expected OR sent within the Process, • Show where delays are expected within the Process, • Disrupt the Normal Flow through Exception handling, OR • Show the extra work required for Compensation.  




Inheritance diagram for IntermediateEvent:

Collaboration diagram for IntermediateEvent:\subsection*{Properties}
\begin{DoxyCompactItemize}
\item 
{\bf TriggerResultCompensation} {\bf TriggerResultCompensation}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
{\bf ResultError} {\bf ResultError}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
string {\bf Target}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
IntermediateEventTriggerEnum {\bf Trigger}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
{\bf TriggerResultCancel} {\bf TriggerCancel}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
{\bf TriggerIntermediateMultiple} {\bf TriggerIntermediateMultiple}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
{\bf TriggerResultLink} {\bf TriggerResultLink}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
{\bf TriggerConditional} {\bf TriggerConditional}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
{\bf TriggerTimer} {\bf TriggerTimer}\hspace{0.3cm}{\ttfamily  [get, set]}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 16 of file IntermediateEvent.cs.



\subsection{Property Documentation}
\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}!TriggerResultCompensation@{TriggerResultCompensation}}
\index{TriggerResultCompensation@{TriggerResultCompensation}!BPMVE_XPDL_Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}
\subsubsection[{TriggerResultCompensation}]{\setlength{\rightskip}{0pt plus 5cm}{\bf TriggerResultCompensation} {\bf TriggerResultCompensation}\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00076_aa2a177f12937b8f6906de97ccd676b14}


This is used for Compensation handling-\/-\/Both setting AND performing Compensation. It calls for Compensation if the \doxyref{Event}{p.}{a00058} is part of a Normal Flow. It reacts To a named Compensation call when attached To the boundary of an activity. See 7.6.4.5.1. 



Definition at line 24 of file IntermediateEvent.cs.

\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}!ResultError@{ResultError}}
\index{ResultError@{ResultError}!BPMVE_XPDL_Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}
\subsubsection[{ResultError}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ResultError} {\bf ResultError}\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00076_a035a2778c9413b302352566be5bf5645}


This is used for Error handling-\/-\/Both To set (throw) AND To react To (catch) errors. It sets (throws) an Error if the \doxyref{Event}{p.}{a00058} is part of a Normal Flow. It reacts To (catches) a named Error, OR To any Error if a name is not specified, when attached To the boundary of an activity. See 7.6.4.5.2. 



Definition at line 33 of file IntermediateEvent.cs.

\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}!Target@{Target}}
\index{Target@{Target}!BPMVE_XPDL_Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}
\subsubsection[{Target}]{\setlength{\rightskip}{0pt plus 5cm}string Target\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00076_a28a5e9d3448ff0925925865104116d3a}


A Target MAY be included for the Intermediate \doxyref{Event}{p.}{a00058}. The Target MUST be an activity (Sub-\/Process OR \doxyref{Task}{p.}{a00134}). This means that the Intermediate \doxyref{Event}{p.}{a00058} is attached To the boundary of the activity AND is used To signify an Exception OR Compensation for that activity. 



Definition at line 42 of file IntermediateEvent.cs.

\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}!Trigger@{Trigger}}
\index{Trigger@{Trigger}!BPMVE_XPDL_Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}
\subsubsection[{Trigger}]{\setlength{\rightskip}{0pt plus 5cm}IntermediateEventTriggerEnum Trigger\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00076_a804b4838175523d332de2b23fed01820}


None, Message, Timer. Error, Cancel, Conditional, Link, Signal, Compensation, Multiple. The None AND Link Trigger MUST NOT be used when the \doxyref{Event}{p.}{a00058} is attached To the boundary of an \doxyref{Activity}{p.}{a00002}. The Multiple, Rule, AND Cancel Triggers MUST NOT be used when the \doxyref{Event}{p.}{a00058} is part of the Normal Flow of the Process. The Cancel Trigger MUST NOT be used when the \doxyref{Event}{p.}{a00058} is attached To the boundary of a \doxyref{Transaction}{p.}{a00145} OR if the \doxyref{Event}{p.}{a00058} is not contained within a Process that is a \doxyref{Transaction}{p.}{a00145}. ―None‖ is used typically for Intermediate Events that are in the main flow of the Process. It is used for modeling methodologies that use Events To indicate some change of state in the Process. 



Definition at line 55 of file IntermediateEvent.cs.

\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}!TriggerCancel@{TriggerCancel}}
\index{TriggerCancel@{TriggerCancel}!BPMVE_XPDL_Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}
\subsubsection[{TriggerCancel}]{\setlength{\rightskip}{0pt plus 5cm}{\bf TriggerResultCancel} TriggerCancel\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00076_ad06c7a5432652f7177f53cf60fb88943}


This type of Intermediate \doxyref{Event}{p.}{a00058} is used within a \doxyref{Transaction}{p.}{a00145} Sub-\/Process. This type of \doxyref{Event}{p.}{a00058} MUST be attached To the boundary of a Sub-\/Process. It SHALL be triggered if a Cancel End \doxyref{Event}{p.}{a00058} is reached within the \doxyref{Transaction}{p.}{a00145} Sub-\/Process. It also SHALL be triggered if a \doxyref{Transaction}{p.}{a00145} Protocol ―Cancel‖ Message has been received while the \doxyref{Transaction}{p.}{a00145} is being performed. 



Definition at line 65 of file IntermediateEvent.cs.

\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}!TriggerIntermediateMultiple@{TriggerIntermediateMultiple}}
\index{TriggerIntermediateMultiple@{TriggerIntermediateMultiple}!BPMVE_XPDL_Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}
\subsubsection[{TriggerIntermediateMultiple}]{\setlength{\rightskip}{0pt plus 5cm}{\bf TriggerIntermediateMultiple} {\bf TriggerIntermediateMultiple}\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00076_a968020e8cee18fa1074faa069914ddd3}


This means that there are Multiple triggers listed. See 7.6.4.5.9. 



Definition at line 71 of file IntermediateEvent.cs.

\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}!TriggerResultLink@{TriggerResultLink}}
\index{TriggerResultLink@{TriggerResultLink}!BPMVE_XPDL_Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}
\subsubsection[{TriggerResultLink}]{\setlength{\rightskip}{0pt plus 5cm}{\bf TriggerResultLink} {\bf TriggerResultLink}\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00076_aad9afbe3251b756f51c3014087d55f5a}


If the Trigger is a Link, then the Name MUST be supplied. See 7.6.4.5.4. 



Definition at line 77 of file IntermediateEvent.cs.

\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}!TriggerConditional@{TriggerConditional}}
\index{TriggerConditional@{TriggerConditional}!BPMVE_XPDL_Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}
\subsubsection[{TriggerConditional}]{\setlength{\rightskip}{0pt plus 5cm}{\bf TriggerConditional} {\bf TriggerConditional}\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00076_a4db5163aff3c28add8c3401cc5101655}


This type of event is triggered when the conditions for a rule such as ―S\&P 500 changes by more than 10\% since opening,‖ OR ―Temperature above 300C‖ become true. See section 7.6.4.5.10. 



Definition at line 85 of file IntermediateEvent.cs.

\index{BPMVE\_\-XPDL\_\-Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}!TriggerTimer@{TriggerTimer}}
\index{TriggerTimer@{TriggerTimer}!BPMVE_XPDL_Library::IntermediateEvent@{BPMVE\_\-XPDL\_\-Library::IntermediateEvent}}
\subsubsection[{TriggerTimer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf TriggerTimer} {\bf TriggerTimer}\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00076_a608be67c008d2d54e5180dbc1d9b269c}


A specific time-\/date OR a specific cycle (e.g., every Monday at 9am) can be set that will trigger the \doxyref{Event}{p.}{a00058}. If used within the main flow it acts as a delay mechanism. If used for Exception handling it will change the Normal Flow into an Exception Flow. See section 7.6.4.5.11. 



Definition at line 94 of file IntermediateEvent.cs.

